/**
 * Notes: 缓存实体
 * Ver : CCMiniCloud Framework 2.5.0 ALL RIGHTS RESERVED BY cclinux0730 (wechat)
 * Date: 2023-09-01 19:20:00 
 */

const BaseModel = require('../config/models_config').base_model;

class CacheModel extends BaseModel {

}

// 集合名
CacheModel.CL = BaseModel.C('cache');

// 字段定义
CacheModel.DB_STRUCTURE = {
	_pid: 'string|true',
	CACHE_ID: 'string|true',
	
	CACHE_KEY: 'string|true|comment=缓存键名',
	CACHE_VALUE: 'string|true|comment=缓存值',
	
	CACHE_EXPIRE_TIME: 'int|true|comment=过期时间',
	
	CACHE_ADD_TIME: 'int|true',
	CACHE_EDIT_TIME: 'int|true',
};

// 字段前缀
CacheModel.FIELD_PREFIX = "CACHE_";

// 缓存过期时间
CacheModel.EXPIRE = {
	SHORT: 300,    // 短期缓存(5分钟)
	MEDIUM: 1800,  // 中期缓存(30分钟)
	LONG: 7200,    // 长期缓存(2小时)
	VERY_LONG: 86400, // 超长期缓存(24小时)
}

// 数据库索引
CacheModel.INDEXES = {
	// 键名索引
	index_key: {
		key: {
			CACHE_KEY: 1
		},
		unique: true
	},
	// 过期时间索引
	index_expire_time: {
		key: {
			CACHE_EXPIRE_TIME: 1
		},
	}
};

module.exports = CacheModel; 